package com.tedu.api.list;

import org.testng.annotations.Test;

import java.util.HashSet;
import java.util.*;

/**
 * Set集合是Collection集合子接口
 * Set集合接口：无序，无下标，元素不可重复【唯一性】
 * Set集合方法与Coocetion集合方法【使用一致】
 * add（）  remove（）     contains（）     size（）   clear（）
 * 使用Iteratordiedaiqi遍历
 * Set集合--接口--无法创建对象--实现类：
 * HashSet：由哈希算法实现：不保证元素顺序不允许元素重复，可以存null
 *
 */

public class SetAPI {
    @Test
    public void testSet(){
        Set<String> set=new HashSet<>();
        set.add("蒸鹿尾儿");  set.add("蒸羊羔"); set.add("烧花鸭");
        set.add("烧子鹅");
        set.add("烧花鸭");  set.add(null);
        System.out.println("Set集合："+set);
        boolean b =set.contains("烧花鸭");
        System.out.println("判断set集合是否存在烧花鸭元素："+b);
        System.out.println("判断set集合长度："+set.size());
        Iterator it=set.iterator();
        while (it.hasNext()){//问：set集合有没有元素
            String str=(String) it.next();//取：set集合元素
            //null  引用类型默认值   不是字符串
            //判断明确的值    必须 ==
            //判断是对象  使用  ”字符串“.equals(str)  实值
            //                 obj.equals(add)   地址值
            if(str==null){//删 如果”烧子鹅“等于”烧子鹅“元素
                it.remove();
            }
        }
        System.out.println(set);
    }

}
